package com.ruoyi.water.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel; // 新增Excel注解导入
import lombok.Data;
import java.sql.Timestamp;

@Data
@TableName("t_pressure_sensor") // 对应传感器表
public class PressureSensor {
    /**
     * 主键：传感器ID（与接口返回的sensorsList.id对应）
     * MyBatis-Plus saveOrUpdate会根据该主键判断新增/更新
     */
    @Excel(name = "传感器ID")
    @TableId(type = IdType.INPUT, value = "sensorId")
    @TableField("sensorId")
    private Integer sensorId;

    /** 关联设备ID（与TPressureDevice的deviceId关联） */
    @Excel(name = "关联设备ID")
    @TableField("deviceId")
    private Integer deviceId;

    /** 传感器名称（对应接口返回的sensorName） */
    @Excel(name = "传感器名称")
    @TableField("sensorName")
    private String sensorName;

    /** 传感器数值（int类型，处理接口返回的字符串数值） */
    @Excel(name = "传感器数值")
    @TableField("value")
    private Double value;

    /** 是否报警（bit类型）：0=未报警，1=已报警（默认0） */
    @Excel(name = "是否报警", readConverterExp = "0=未报警,1=已报警")
    @TableField("isAlarms")
    private Boolean isAlarms;

    /** 传感器类型（默认1，对应接口返回的sensorTypeId） */
    @Excel(name = "传感器类型")
    @TableField("sensorTypeId")
    private Integer sensorTypeId;

    /** 数据更新时间（对应接口返回的updateDate） */
    @Excel(name = "数据更新时间")
    @TableField("updateDate")
    private Timestamp updateDate;
}